/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.camachosanchez.gui;

import com.camachosanchez.bean.Neumaticos;
import com.camachosanchez.bean.Vehiculos;
import com.camachosanchez.controler.jdbc.NeumaticosJdbcControler;
import com.camachosanchez.controler.jpa.NeumaticosJpaController;
import com.camachosanchez.gui.table.ModeloTablaBuscarNeumatico;
import com.camachosanchez.gui.table.RenderizadorTablaNeumaticos;
import com.camachosanchez.gui.table.TableSorter;
import com.camachosanchez.util.GUIUtil;
import com.camachosanchez.util.JPAUtil;
import com.camachosanchez.util.ReportUtil;
import com.camachosanchez.util.SQLUtil;
import java.util.List;
import javax.persistence.Query;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import javax.swing.WindowConstants;
import javax.swing.event.InternalFrameEvent;
import javax.swing.table.DefaultTableModel;
import net.coderazzi.filters.gui.TableFilterHeader;

/**
 *
 * @author Rolando
 */
public class BusquedaNeumatico extends javax.swing.JInternalFrame {

    private ModeloTablaBuscarNeumatico modelo;
    private TableFilterHeader filterHeader;
    private TableSorter tableSorter;

    /**
     * Creates new form BusquedaNeumatico
     */
    public BusquedaNeumatico() {
        initComponents();
        setFrameIcon(new ImageIcon(getClass().getResource("/com/camachosanchez/recursos/table.png")));
        this.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
        this.addInternalFrameListener(new javax.swing.event.InternalFrameAdapter() {

            @Override
            public void internalFrameClosing(InternalFrameEvent e) {
                cerrar();
            }
        });

        modelo = new ModeloTablaBuscarNeumatico();
        tableSorter = new TableSorter(modelo, tblNeumaticos.getTableHeader());
        tblNeumaticos.setModel(tableSorter);
        filterHeader = new TableFilterHeader();
        filterHeader.setTable(tblNeumaticos);
        RenderizadorTablaNeumaticos render = new RenderizadorTablaNeumaticos();
        tblNeumaticos.setDefaultRenderer(Class.class, render);
        tblNeumaticos.getTableHeader().setReorderingAllowed(false);
    }

    private void cerrar() {
        GUIUtil.maximizarTodasLasVentanas(this);
    }

    private void setColumnaOculta() {
        tblNeumaticos.getColumnModel().getColumn(1).setMinWidth(0);
        tblNeumaticos.getColumnModel().getColumn(1).setMaxWidth(0);
        tblNeumaticos.getColumnModel().getColumn(1).setPreferredWidth(0);
    }
//
//    private void setAnchoColumnas() {
//        int anchoColumna = 0;
//        TableColumnModel modeloColumna = jTable1.getColumnModel();
//        TableColumn columnaTabla;
//        for (int i = 0; i < jTable1.getColumnCount(); i++) {
//            columnaTabla = modeloColumna.getColumn(i);
//            switch (i) {
//                case 0:
//                    anchoColumna = 25;
//                    columnaTabla.setMinWidth(anchoColumna);
//                    columnaTabla.setMaxWidth(anchoColumna);
//                    columnaTabla.setPreferredWidth(anchoColumna);
//                    break;
//                case 1:
//                case 10:
//                case 11:
//                case 15:
//                case 16:
//                    anchoColumna = 0;
//                    columnaTabla.setMinWidth(anchoColumna);
//                    columnaTabla.setMaxWidth(anchoColumna);
//                    columnaTabla.setPreferredWidth(anchoColumna);
//                    break;
////                case 1:
////                    anchoColumna = 80;
//////                    columnaTabla.setMinWidth(anchoColumna);
//////                    columnaTabla.setMaxWidth(anchoColumna);
////                    columnaTabla.setPreferredWidth(anchoColumna);
////                    break;
////                case 2:
////                case 3:
////                    anchoColumna = 0;
////                    columnaTabla.setMinWidth(anchoColumna);
////                    columnaTabla.setMaxWidth(anchoColumna);
////                    columnaTabla.setPreferredWidth(anchoColumna);
////                case 4:
////                    anchoColumna = 100;
//////                    columnaTabla.setMinWidth(anchoColumna);
//////                    columnaTabla.setMaxWidth(anchoColumna);
////                    columnaTabla.setPreferredWidth(anchoColumna);
////                    break;
////                case 13:
////                    anchoColumna = 0;
////                    columnaTabla.setMinWidth(anchoColumna);
////                    columnaTabla.setMaxWidth(anchoColumna);
////                    columnaTabla.setPreferredWidth(anchoColumna);
////                    break;
//            }
//        }
//    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        buttonGroup1 = new javax.swing.ButtonGroup();
        pnlContenedor = new javax.swing.JPanel();
        scrContenedor = new javax.swing.JScrollPane();
        tblNeumaticos = new javax.swing.JTable();
        toolBarPrincipal = new javax.swing.JToolBar();
        btnVerDetalle = new javax.swing.JButton();
        jSeparator4 = new javax.swing.JToolBar.Separator();
        btnActualizar = new javax.swing.JButton();
        jSeparator1 = new javax.swing.JToolBar.Separator();
        btnVerUbicacion = new javax.swing.JButton();
        jSeparator3 = new javax.swing.JToolBar.Separator();
        btnVerHistorial = new javax.swing.JButton();
        jSeparator2 = new javax.swing.JToolBar.Separator();
        btnDespinches = new javax.swing.JButton();
        jSeparator5 = new javax.swing.JToolBar.Separator();
        jButton1 = new javax.swing.JButton();
        jSeparator6 = new javax.swing.JToolBar.Separator();
        btnEliminar = new javax.swing.JButton();

        setClosable(true);
        setDefaultCloseOperation(javax.swing.WindowConstants.HIDE_ON_CLOSE);
        setIconifiable(true);
        setMaximizable(true);
        setResizable(true);
        setTitle(".:: Búsqueda de Neumático ::.");
        try {
            setSelected(true);
        } catch (java.beans.PropertyVetoException e1) {
            e1.printStackTrace();
        }

        pnlContenedor.setLayout(new java.awt.BorderLayout(5, 5));

        tblNeumaticos.setToolTipText("");
        tblNeumaticos.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
        tblNeumaticos.setRowHeight(22);
        tblNeumaticos.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        scrContenedor.setViewportView(tblNeumaticos);

        pnlContenedor.add(scrContenedor, java.awt.BorderLayout.CENTER);

        getContentPane().add(pnlContenedor, java.awt.BorderLayout.CENTER);

        toolBarPrincipal.setBackground(new java.awt.Color(255, 255, 255));
        toolBarPrincipal.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        toolBarPrincipal.setFloatable(false);
        toolBarPrincipal.setRollover(true);
        toolBarPrincipal.setMinimumSize(new java.awt.Dimension(385, 30));
        toolBarPrincipal.setPreferredSize(new java.awt.Dimension(409, 30));

        btnVerDetalle.setBackground(new java.awt.Color(255, 255, 255));
        btnVerDetalle.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/16_edit.png"))); // NOI18N
        btnVerDetalle.setText("Ver Detalle");
        btnVerDetalle.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        btnVerDetalle.setFocusable(false);
        btnVerDetalle.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        btnVerDetalle.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnVerDetalle.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnVerDetalleActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(btnVerDetalle);
        toolBarPrincipal.add(jSeparator4);

        btnActualizar.setBackground(new java.awt.Color(255, 255, 255));
        btnActualizar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/16_update.png"))); // NOI18N
        btnActualizar.setText("Actualizar");
        btnActualizar.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        btnActualizar.setFocusable(false);
        btnActualizar.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        btnActualizar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnActualizar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnActualizarActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(btnActualizar);
        toolBarPrincipal.add(jSeparator1);

        btnVerUbicacion.setBackground(new java.awt.Color(255, 255, 255));
        btnVerUbicacion.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/16_location.png"))); // NOI18N
        btnVerUbicacion.setText("Ver Ubicación");
        btnVerUbicacion.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        btnVerUbicacion.setFocusable(false);
        btnVerUbicacion.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        btnVerUbicacion.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnVerUbicacion.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnVerUbicacionActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(btnVerUbicacion);
        toolBarPrincipal.add(jSeparator3);

        btnVerHistorial.setBackground(new java.awt.Color(255, 255, 255));
        btnVerHistorial.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/16_historial.png"))); // NOI18N
        btnVerHistorial.setText("Ver Historial");
        btnVerHistorial.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        btnVerHistorial.setFocusable(false);
        btnVerHistorial.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        btnVerHistorial.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnVerHistorial.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnVerHistorialActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(btnVerHistorial);
        toolBarPrincipal.add(jSeparator2);

        btnDespinches.setBackground(new java.awt.Color(255, 255, 255));
        btnDespinches.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/despinche.png"))); // NOI18N
        btnDespinches.setText("Despinches");
        btnDespinches.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        btnDespinches.setFocusable(false);
        btnDespinches.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        btnDespinches.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnDespinches.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnDespinchesActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(btnDespinches);
        toolBarPrincipal.add(jSeparator5);

        jButton1.setBackground(new java.awt.Color(255, 255, 255));
        jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/excel.png"))); // NOI18N
        jButton1.setText("Exportar");
        jButton1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        jButton1.setFocusable(false);
        jButton1.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        jButton1.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        jButton1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton1ActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(jButton1);
        toolBarPrincipal.add(jSeparator6);

        btnEliminar.setBackground(new java.awt.Color(255, 255, 255));
        btnEliminar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/com/camachosanchez/recursos/16_delete.png"))); // NOI18N
        btnEliminar.setText("  Eliminar  ");
        btnEliminar.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        btnEliminar.setFocusable(false);
        btnEliminar.setHorizontalTextPosition(javax.swing.SwingConstants.RIGHT);
        btnEliminar.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
        btnEliminar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnEliminarActionPerformed(evt);
            }
        });
        toolBarPrincipal.add(btnEliminar);

        getContentPane().add(toolBarPrincipal, java.awt.BorderLayout.PAGE_START);

        pack();
    }// </editor-fold>//GEN-END:initComponents

private void btnVerDetalleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnVerDetalleActionPerformed
// TODO add your handling code here:
    int fila = tblNeumaticos.getSelectedRow();
    if (fila > -1) {
        int id = Integer.parseInt(tblNeumaticos.getValueAt(fila, 1).toString());
        NeumaticosJpaController dao = new NeumaticosJpaController(null);
//        NeumaticosJdbcControler daoJdbc = new NeumaticosJdbcControler();
        EditorNeumatico editor = new EditorNeumatico(this, Principal.getInstance(), false, dao.findNeumaticos(id), fila);
        editor.setVisible(true);
    } else {
        JOptionPane.showMessageDialog(this, "Debe seleccionar un neumático.", "Advertencia", JOptionPane.WARNING_MESSAGE);
    }
}//GEN-LAST:event_btnVerDetalleActionPerformed

private void btnActualizarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnActualizarActionPerformed
    llenarTabla();
}//GEN-LAST:event_btnActualizarActionPerformed

private void btnVerUbicacionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnVerUbicacionActionPerformed
// TODO add your handling code here:
    int fila = tblNeumaticos.getSelectedRow();
    if (fila > -1) {
        int idNeumatico = Integer.parseInt(tblNeumaticos.getValueAt(fila, 1).toString());
        String categoria = tblNeumaticos.getValueAt(fila, 6).toString();
        if (categoria.length() > 7 && categoria.substring(0, 7).equalsIgnoreCase("Montado")) {
            Vehiculos v = SQLUtil.getUnidadMontadaDeNeumatico(idNeumatico);
            if( v != null){
                MontajeDesmontaje montaje = new MontajeDesmontaje(v);
                montaje.setIdNeumaticoResaltado(idNeumatico);
                montaje.setSize(Principal.getInstance().getEscritorio().getSize());
                Principal.getInstance().getEscritorio().add(montaje);
                montaje.setVisible(true);
                try {
                    montaje.setMaximum(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
                montaje.generarEsquemaMontaje();
                montaje.agregarDescripcionNeumaticos();
                montaje.setPosiciones(true);
                montaje.pintarPosiciones();
            }
        } else {
            JOptionPane.showMessageDialog(this, "La vista no está disponible. El neumático no está montado en ninguna unidad.");
        }
    } else {
        JOptionPane.showMessageDialog(this, "Debe seleccionar un neumático.", "Advertencia", JOptionPane.WARNING_MESSAGE);
    }
}//GEN-LAST:event_btnVerUbicacionActionPerformed

private void btnVerHistorialActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnVerHistorialActionPerformed
// TODO add your handling code here:
    int fila = tblNeumaticos.getSelectedRow();
    if (fila > -1) {
        int id = Integer.parseInt(tblNeumaticos.getValueAt(fila, 1).toString());
        String codigo = tblNeumaticos.getValueAt(fila, 2).toString();
        HistorialNeumatico historial = new HistorialNeumatico(Principal.getInstance(), true, id, codigo);
        historial.setVisible(true);
    } else {
        JOptionPane.showMessageDialog(this, "Debe seleccionar un neumático.", "Advertencia", JOptionPane.WARNING_MESSAGE);
    }
}//GEN-LAST:event_btnVerHistorialActionPerformed

    private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnEliminarActionPerformed
        // TODO add your handling code here:
        int fila = tblNeumaticos.getSelectedRow();
        if (fila > -1) {
            if (JOptionPane.showConfirmDialog(null, "¿Está seguro que desea eliminar el neumático seleccionado?", "Confirmación", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
                int id = Integer.parseInt(tblNeumaticos.getValueAt(fila, 1).toString());
                NeumaticosJdbcControler daoJdbc = new NeumaticosJdbcControler();
                byte estado = daoJdbc.eliminarNeumatico(id);
                if (estado == 1) {
                    JOptionPane.showMessageDialog(this, "El neumático se encuentra relacionado con otros registros, no puede ser eliminado.", "Error en la eliminación", JOptionPane.ERROR_MESSAGE);
                } else {
                    JOptionPane.showMessageDialog(this, "El neumático se ha eliminado de forma segura.", "Operación finalizada", JOptionPane.INFORMATION_MESSAGE);
                    this.borrarNeumatico(fila);
                }
            }
        } else {
            JOptionPane.showMessageDialog(this, "Debe seleccionar un neumático.", "Advertencia", JOptionPane.WARNING_MESSAGE);
        }
    }//GEN-LAST:event_btnEliminarActionPerformed

    private void btnDespinchesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnDespinchesActionPerformed
        // TODO add your handling code here:
        int fila = tblNeumaticos.getSelectedRow();
        if (fila > -1) {
            Query q = JPAUtil.getEntityManagerFactory().createEntityManager().createNamedQuery("InsumosDespinche.findByEstado");
            q.setParameter("estado", true);//lista los activos
            if (q.getResultList() != null && !q.getResultList().isEmpty()) {
                int id = Integer.parseInt(tblNeumaticos.getValueAt(fila, 1).toString());
                NeumaticosJpaController daoNeumatico = new NeumaticosJpaController(null);
                DespincheNeumaticos guiDespinches = new DespincheNeumaticos(Principal.getInstance(), true, daoNeumatico.findNeumaticos(id));
                guiDespinches.setVisible(true);
            } else {
                JOptionPane.showMessageDialog(this, "Se necesita por lo menos un insumo de despinche registrado, ingréselo desde el menú Logística.", "Datos incompletos", JOptionPane.WARNING_MESSAGE);
            }
        } else {
            JOptionPane.showMessageDialog(this, "Debe seleccionar un neumático.", "Advertencia", JOptionPane.WARNING_MESSAGE);
        }
    }//GEN-LAST:event_btnDespinchesActionPerformed

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
    DefaultTableModel modeloParaExportacion = new DefaultTableModel() {

        @Override
        public String getColumnName(int columnIndex) {
            switch (columnIndex) {
                case 0:
                    return "CÓDIGO";
                case 1:
                    return "SERIE";
                case 2:
                    return "MEDIDA";
                case 3:
                    return "MARCA";
                case 4:
                    return "UBICACIÓN";
                case 5:
                    return "ESTADO MEDICIÓN";
                case 6:
                    return "ESTADO NEUMATICO";
                case 7:
                    return "TIPO PISO";
                case 8:
                    return "Nº DE CAPAS";
                case 9:
                    return "ALMACÉN";
                case 10:
                    return "ALTURA MÍNIMA";
                case 11:
                    return "Nº REENCAUCHES";
                case 12:
                    return "PRECIO";
                case 13:
                    return "FECHA DE COMPRA";
                case 14:
                    return "Km TOTAL";
                case 15:
                    return "DISTRIBUIDOR";
                case 16:
                    return "Nº FACTURA";
                case 17:
                    return "FECHA DE REGISTRO";
                default:
                    return "";
            }
        }

        @Override
        public int getColumnCount() {
            return 18;
        }
    };
    int numeroFilas = tblNeumaticos.getRowCount();
    for (int i = 0; i < numeroFilas; i++) {
        Object[] fila = new Object[18];
        for (int j = 2, k = 0; j < 20; j++, k++) {
            fila[k] = tblNeumaticos.getValueAt(i, j);
        }
        modeloParaExportacion.addRow(fila);
    }
    modeloParaExportacion.setRowCount(numeroFilas);
    try {
        ReportUtil.generarReporteExcel("reportes/neumaticos" + GUIUtil.obtenerFechaDDMMYYYHHMMSS() + ".xls", modeloParaExportacion);
    } catch (Exception e) {
        e.printStackTrace();
    }
}//GEN-LAST:event_jButton1ActionPerformed
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton btnActualizar;
    private javax.swing.JButton btnDespinches;
    private javax.swing.JButton btnEliminar;
    private javax.swing.JButton btnVerDetalle;
    private javax.swing.JButton btnVerHistorial;
    private javax.swing.JButton btnVerUbicacion;
    private javax.swing.ButtonGroup buttonGroup1;
    private javax.swing.JButton jButton1;
    private javax.swing.JToolBar.Separator jSeparator1;
    private javax.swing.JToolBar.Separator jSeparator2;
    private javax.swing.JToolBar.Separator jSeparator3;
    private javax.swing.JToolBar.Separator jSeparator4;
    private javax.swing.JToolBar.Separator jSeparator5;
    private javax.swing.JToolBar.Separator jSeparator6;
    private javax.swing.JPanel pnlContenedor;
    private javax.swing.JScrollPane scrContenedor;
    private javax.swing.JTable tblNeumaticos;
    private javax.swing.JToolBar toolBarPrincipal;
    // End of variables declaration//GEN-END:variables

    public void inicializarTabla() {
        final DialogoCargando dlgCargando = new DialogoCargando(Principal.getInstance(), true);
        Thread hilo = new Thread() {

            @Override
            public void run() {
                try {
                    llenarTabla();
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    dlgCargando.dispose();
                }
            }
        };
        hilo.start();
        dlgCargando.setVisible(true);
    }

    public void llenarTabla() {
        modelo.limpiar();
        NeumaticosJdbcControler daoJdbc = new NeumaticosJdbcControler();
        List<Neumaticos> neumaticos = daoJdbc.findAll();
        for (Neumaticos n : neumaticos) {
            modelo.agregarNeumatico(n);
        }
        setColumnaOculta();
        GUIUtil.SetAnchoColumnas(tblNeumaticos);
    }

    public void borrarNeumatico(int fila) {
        modelo.borrarAccion(fila);
    }

    public void actualizarNeumatico(Neumaticos n, int fila) {
        modelo.actualizarNeumatico(n, fila);
        setColumnaOculta();
        GUIUtil.SetAnchoColumnas(tblNeumaticos);
    }
}
